// 引入createApp
import { createApp } from "vue";

import App from './App.vue'   // 引入App.vue

// 引入store
import store from './store'

import 'normalize.css'   // 引入Normalize.css
import '@/assets/global.scss' // 引入全局样式

 // 创建应用实例
const app = createApp(App) 

// 怎么给this 身上加东西？
// vue2   Vue.prototype.xxx
// vue3   app.config.globalProperties.xxx

app.use(store)    // 注册store
// store 里面有一个install函数，这个函数内部 就给app.config.globalProperties.xxx  上面加了一个 $store 属性，所以我们可以用this.$store 拿到store里面的属性；


app.mount("#app");  // 挂载应用



/**
 * app.use(store)  注册使用Vuex之后，有什么效果
 * 
 * 1. 全局写入了 $store 属性，该属性就是 store 的实例对象，即store/index.js里面的路由实例对象store
 * 
 * commit()  提交mutations 的
 * dispatch()  派发action 的
 * 
 * state   仓库的数据
 * getters   仓库的getters数据
 * 
 */